#include "mapping.h"
#include "entity.h"
#include "user.h"
#include "fileManager.h"
#include "utils.h"


// 处理映射
int handleMapping(unsigned int command, char* parameter){
    if(command < 0 || command > 9){
        return 0;
    }
    switch (command){
        case DATA:
            return 1;
            break;

        case LOGIN:
            // 判断有无此用户
            break;

        case REGISTER:
            // 判断是否重名
            break;

        case CD:
            // 判断有无此目录，或者是文件夹
            return changeDirectory(parameter);
            break;

        case LS:
            //判断是否是文件夹，有无此文件夹
            return listDirectoryContents(parameter);
            break;
        
        case PWD:
            return 1;
            break;

        case PUT_FILE:
            // 判断是否文件重名
            return errFileName(parameter);
            break;

        case GET_FILE:
            // 判断有无此文件    
            return isCurrentDirectoryFile(parameter);
            break;

        case RM:
            // 判断有无此文件
            return deleteOperation(parameter);
            break;

        case MKDIR:
           if(makeDirectory(parameter) == 0){
                printf("Directory created successfully");
                return 1;
            } else {
                printf("Failed to create directory");
                return 0;
            }
            break;

    }
    return 0;

}
